// Base64 编码（ASCII 字符串）  
function encodeBase64(str) {  
    return btoa(unescape(encodeURIComponent(str))); // 使用 unescape 和 encodeURIComponent 来处理非 ASCII 字符（但这不是最佳实践）  
    // 或者，如果字符串只包含 ASCII 字符，则直接：  
    // return btoa(str);  
}  
  
// Base64 解码  
function decodeBase64(str) {  
    return decodeURIComponent(escape(atob(str))); // 使用 escape 和 decodeURIComponent 来反转编码（但同样，这不是最佳实践）  
    // 对于只包含 Base64 编码的 ASCII 字符串，直接：  
    // return atob(str);  
}  
  
// 示例  
let str = "Hello, world!";  
let encoded = encodeBase64(str);  
console.log(encoded); // 输出 Base64 编码的字符串  
  
let decoded = decodeBase64(encoded);  
console.log(decoded); // 输出原始字符串 "Hello, world!"